<template>
    <div class="song-list">
        <!-- 歌单详情 -->
        <van-nav-bar
          title="歌单详情"  
          left-text="返回"
          left-arrow
          @click-left="onclickLeft"
        />
        <!-- 歌单顶部 -->
        <div class="header">
            <img :src="song.logo" alt="">
            <h4>{{ song.dissname }}</h4>
            <div class="nick">
                <img :src="song.headurl" alt="">
                <span>{{song.nickname}}</span>
            </div>
            <span>{{song.visitnum | numFilter(1)}}万</span>
        </div>
        <!-- 歌单列表 -->
        <div class="list">
            <van-list
              v-model="loading"
              :finished="finished"
              finished-text="没有更多了"
              @load="onLoad"
            >
                <div v-for="(item,index) in list" :key="index" >
                    <h4>{{ item.songname }}</h4>
                    <div class="singers">
                        <span v-for="(singer,index) in item.singer" :key="singer.id">
                            {{ singer.name }}
                            <span v-show="index != item.singer.length-1">/</span>
                        </span>
                        <span v-show="item.albumname">
                            <span>.</span>
                            <span>{{ item.albumname }}</span>
                        </span>
                        
                    </div>
                </div>
            </van-list>
            
        </div>
    </div>
</template>
<script>
export default {
    data(){
        return{
            song: {
                dissname: "",   //标题
                logo: "",       //歌单logo
                headurl: "",    //制作者头像
                nickname: "",  //制作者昵称
                visitnum: 0,  //歌曲播放量
            },
            songlist:[],
            songnum:0,   //歌曲列表数目
            list: [],  //vant的列表数目
            loading:false,
            finished:false,
        };
    },
    created(){
        this.getListData()
    },
    methods:{
        getListData(){
            this.$request('get','/songlist?id=' + this.$route.params.id)
            .then((res)=>{
                    console.log(res);
                    this.song.dissname = res.data.dissname;
                    this.song.logo = res.data.logo;
                    this.song.headurl = res.data.headurl;
                    this.song.nickname = res.data.nickname;
                    this.song.visitnum = res.data.visitnum;
                    this.songlist = res.data.songlist;
                    this.songnum = res.data.songnum;
                }
            );
        },
        onclickLeft(){
            window.history.length > 1 ? this.$router.go(-1) : this.$router.push('/')
        },
        onLoad(){
            setTimeout(()=>{
                this.list = this.list.concat(this.songlist.splice(0,10))
                this.loading = false;
                if (this.list.length >= this.songnum){
                    this.finished = true;
                }
            }, 1000);
        },
    },
};
</script>
<style scoped>
.header>img{
    border-radius:1rem;
    width: 50%;
}
.nick{
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
}
.nick>img{
    height: 2rem;
    border-radius: 50%;
    margin-right: 0.5rem;
}
.nick>span{
    height: 2rem;
    font-size: 0.8rem;
    line-height: 2rem;
}
/* div{
    display: flex;
    align-items: center;
    justify-content: space-around;
} */

/* 列表样式 */
.list{
    margin: 0 1rem;
}
.list h3{
    text-align: 1eft;
    font-size: 1rem;
}
.singer{
    text-align: 1eft;
}
.singer span{
    font-size: 0.8rem;
    color: rgb(160,160,190);
}
.singer>span:ntn-last-child(1)>span:nth-child(1){
    color: red;
    font-weight: 900;
    padding: 0 0.5rem;
}
</style>
